<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--
    数组： 计算机中一段连续的内存空间

    数组定义方式：
        1. var arr = new Array()
        2. var arr = new Array(10)  参数是数组的初始容量 不是数组的上限
        3. var  arr = new Array(1,2,3)  创建数组的同时 完成数组的初始化操作
        4. var  arr = [1,23,10]

        var  names = []
        var scores = []
      使用：
            1.赋值   index    数组名[index] = value
                var arr = new Array()
                arr[0] = 10
                arr[1] = 20
                arr[2] = 30
            2. 取值    数组名[index]
                console.log(arr[index])

      数组重常见的操作方法：

            1. 添加值
                    push()  追加
                    unshift()  头部添加
            2.删除
                    pop()  删除尾部数据
                    shift()  删除头部数据

            3. 删除任意位置的值
                    splice(start,deleteNumber,insert)   返回值  以数组形式将删除的值返回
            4. 截取
                   slice(start,end)  [start,end)   参数只有一个： 从指定位置截取到数组的最后
                   start  0   数组的复制
             5. 合并数组
                    concat(targetArray)  没有参数    数组的复制

                    浅拷贝： 在数组拷贝的时候 如果数组中是简单的数据类型 则复制的结果和原数组互相独立
                            数组中存储的元素时复杂类型(数组  对象 ) 复制的结果和原数组有耦合关系
                            操作两个数组中的任意一个 两个数组都会受到影响    复制的是地址
               6. 数组的反转
                    reverse(array)

               7. 数组的排序
                    sort(function(a,b){return a-b})  排自然序
-->

<script>

    var arr = [10, 5, 3, 20, 15, 30, 24, 6]

    //实现数组的排序
    // 外层循环控制比较的轮数
    for (var i = 1; i < arr.length; i++) {

        for (let j = 0; j < arr.length - i; j++) {

            if (arr[j] > arr[j + 1]) {
                var temp = arr[j]
                arr[j] = arr[j + 1]
                arr[j + 1] = temp
            }
        }
    }

    console.log(arr)

</script>
</body>
</html>